﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;
using Model;

namespace Gui.Web.Forms
{
    public partial class IngresoDiasLaborados : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack) return;
            CargarDatos(DateTime.Now.Month);

            var meses = new FechaBusiness();
            MesLaborado.DataSource = meses.ObtenerMeses().Meses;
            MesLaborado.DataBind();
            MesLaborado.SelectedIndex = DateTime.Now.Month - 1;
        }

        protected void Cancelar_Click(object sender, EventArgs args)
        {
            Response.Redirect("/Default.aspx", true);
        }

        protected void Guardar_Click(object sender, EventArgs args)
        {
            foreach (GridViewRow filaGrid in DiasLaborados.Rows)
            {
                var dataKey = DiasLaborados.DataKeys[filaGrid.RowIndex];
                if (dataKey == null) continue;

                var idColaborador = int.Parse(dataKey.Value.ToString());
                var diasLaborados = new DiasLaboradosBusiness();
                diasLaborados.InsertarActualizarDiaLaborado(
                    new DiasLaborados 
                    {
                        Anio = DateTime.Now.Year,
                        CantidadDias = Convert.ToInt32(((TextBox)filaGrid.FindControl("TextoCantidadDias")).Text),
                        IdColaborador = idColaborador,
                        IdMes = Convert.ToInt32(MesLaborado.SelectedItem.Value)
                    });
            }
        }

        private void CargarDatos(int mesIngreso)
        {
            var diasLaborados = new DiasLaboradosBusiness();
            DiasLaborados.DataSource = diasLaborados.ObtenerDiasLaboradosPorMes(mesIngreso);
            DiasLaborados.DataBind();
        }

        protected void MesLaborado_SelectedIndexChanged(object sender, EventArgs e)
        {
            CargarDatos(Convert.ToInt32(MesLaborado.SelectedItem.Value));
        }
    }
}